home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / program / amos / examples.lha / Salim_Amos_Sources / Scroll-Dual.Amos / Scroll-Dual.amosSourceCode < prev   
AMOS Source Code  |  1995-08-30  |  3KB  |  145 lines

  1. '
  2. ' Dual Scrolls 
  3. '
  4. ' Flickering when not compiled 
  5. '
  6. ' smooth onn an 68000 when compiled
  7. '
  8. ' with a color shifting fake sphere
  9. '
  10. ' (c) Gasmi Salim  
  11. '
  12.  
  13. Global EC
  14. EC=10
  15. COPPER
  16. Procedure COPPER
  17.    Set Rainbow 1,EC,91,"","",""
  18.    For I=0 To 15
  19.       K=3840+16*I
  20.       Rain(1,C)=K
  21.       Inc C
  22.    Next I
  23.    For I=0 To 14
  24.       K=K-256
  25.       Rain(1,C)=K
  26.       Inc C
  27.    Next I
  28.    For I=0 To 14
  29.       K=K+1
  30.       Rain(1,C)=K
  31.       Inc C
  32.    Next I
  33.    For I=0 To 14
  34.       K=K-16
  35.       Rain(1,C)=K
  36.       Inc C
  37.    Next I
  38.    For I=0 To 14
  39.       K=K+256
  40.       Rain(1,C)=K
  41.       Inc C
  42.    Next I
  43.    For I=0 To 14
  44.       K=K-1
  45.       Rain(1,C)=K
  46.       Inc C
  47.    Next I
  48. End Proc
  49. LEC=400 : Rem width of small scroll screen 
  50. LO=16 : Rem x fonts  
  51. LA=16 : Rem y fonts  
  52. VIT=2 : Rem speed  
  53. DIS=123 : Rem base screen  
  54. Def Scroll 1,0,15 To 360,32,-VIT,0
  55. '------------------------------
  56. LO2=45 : Rem x fonts  
  57. LA2=46 : Rem y fonts  
  58. VIT2=5 : Rem speed scroll 
  59. DIS2=123 : Rem BASE Screen  
  60. Def Scroll 2,0,0 To LEC,48,-VIT2,0
  61. '------------------------------------  
  62. S1=1 : S2=1
  63. Hide 
  64. Unpack 6 To 0
  65. Screen Hide 
  66. C$="abcdefghijklmnopqrstuvwxyz .,!'?:()0123456789DBMSFZCG-+//"
  67. L=Len(C$)
  68. Dim X(L),Y(L)
  69. For Y=1 To 3
  70.    For X=1 To 19
  71.       Inc CP
  72.       X(CP)=(X-1)*LO+1
  73.       Y(CP)=(Y-1)*LA+101
  74.    Next X
  75. Next Y
  76. OUT:
  77. Unpack 5 To 7
  78. Screen Hide 
  79. C2$="abcdefghijklmnopqrstuvwxyz!'.:?, "
  80. NL=Len(C2$)
  81. Dim X2(NL),Y2(NL)
  82. For Y=1 To 5
  83.    For X=1 To 7
  84.       XC=(X-1)*LO2+1+2
  85.       YC=(Y-1)*LA2+12
  86.       Inc U
  87.       If U>NL Then Goto TROULA
  88.       X2(U)=XC
  89.       Y2(U)=YC
  90.    Next X
  91. Next Y
  92. TROULA:
  93. K=18
  94. Unpack 4 To 3
  95. Screen Display 3,143,83,,
  96. Shift Up 1,1,8,1
  97. Rainbow 1,0,54,17
  98. Screen Open 1,LEC,50,8,Lowres
  99. Screen Display 1,DIS,39,LEC,
  100. Flash Off 
  101. Get Palette 0
  102. Cls 0
  103. Draw 0,1 To 330,1
  104. Draw 0,49 To 330,49
  105. Screen Open 2,LEC,50,8,Lowres
  106. Screen Display 2,DIS2,38,LEC,
  107. Flash Off 
  108. Get Palette 7
  109. Cls 0
  110. Wait Vbl 
  111. Dual Playfield 2,1
  112. Wait Vbl 
  113. F=2 : B=1
  114. Dual Priority F,B
  115. TX$=""
  116. TX$=TX$+"D salim D .presents..the dual playfield scrolling"
  117. TX$=TX$+"..coded by salim.and font by bvg... hope you like it!!!"
  118. TX2$=TX2$+" big flicker scroll if not compiled ....."
  119. Do 
  120.    If Mouse Click=1 Then Swap F,B : Dual Priority F,B
  121.    Gosub STEXT
  122.    Wait Vbl 
  123. Loop 
  124. Rem ------ SCROLL TEXT ROUTINE ----------
  125. Rem
  126. STEXT:
  127. Screen 1 : Scroll 1 : Inc P
  128. Screen 2 : Scroll 2 : Inc P2
  129. If P<>(LO/VIT) Then Goto L2
  130. P=0
  131. Add C,1,1 To Len(TX$)
  132. E$=Mid$(TX$,C,1)
  133. E=Instr(C$,E$)
  134. If E=0 Then Return 
  135. Screen Copy 0,X(E),Y(E),X(E)+LO,Y(E)+LA To 1,340,15
  136. L2:
  137. If P2<>(LO2/VIT2) Then Return 
  138. P2=0
  139. Add C2,1,1 To Len(TX2$)
  140. E$=Mid$(TX2$,C2,1)
  141. E=Instr(C2$,E$)
  142. If E=0 Then Return 
  143. Screen Copy 7,X2(E),Y2(E),X2(E)+LO2,Y2(E)+LA2 To 2,340,3
  144. Return 
  145. Rem